﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CBE.Model;
using CBE.ServiceLogic;
using Common.UI.Report;
using CBE.UI.Control.Views;
using CBE.UI.Control.Presenters;

namespace CBE.UI.Control
{
    public class ReporteComprasProveedorController : GenericReportController<ReporteComprasProveedorView, ReporteComprasProveedorCriteria, ReporteComprasProveedorServiceLogic>
    {
        public override string Title
        {
            get
            {
                return "Reporte compras a proveedores";
            }
        }

        protected override Common.UI.Report.Views.FilterDataView CreateFilterDataView()
        {
            return new ReporteComprasProveedorFilterDataView();
        }

        protected override void CreateEntityPresentationModel()
        {
            this.ReportPresentationModel = new ReporteComprasProveedorPresentationModel(this.CreateFilterView(), this.CreateListView());
        }

        protected override void AddColumnDefinitions()
        {
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.CodigoPropertyName, "Código");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.NroDocumentoPropertyName, "Nro. Documento");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.RazonSocialPropertyName, "Razón social");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.MailPropertyName, "Mail");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.TelefonoPropertyName, "Teléfono");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.ProductosPropertyName, "Productos");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.CantidadComprasPropertyName, "Cantidad total de compras");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.ImporteTotalPropertyName, "Importe total");
            this.ReportPresentationModel.AddColumnDefinition(ReporteComprasProveedorView.FechaUltimaCompraStringPropertyName, "Fecha de última compra");
        }
    }
}
